/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Soligee.model.vo.lancamentos;

import java.io.Serializable;
import java.util.Collection;
import javax.persistence.*;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
@Table(name="formapagamento")
public class FormaPagamentoVO implements Serializable {

    @Id
    @SequenceGenerator(name="cod_forma_pagamento", sequenceName="cod_forma_pagamento_seq", allocationSize = 1 )
    @GeneratedValue( strategy = GenerationType.SEQUENCE, generator = "cod_forma_pagamento")
    @Column (name="cod_forma_pagamento")
    private int codFormaPagamento;

    @Column (name="forma_pagamento")
    private String formaPagamento;

    @Column (name="ativo")
    private boolean ativo;

    @OneToMany(mappedBy="formaPagamento", fetch = FetchType.LAZY, cascade={javax.persistence.CascadeType.MERGE, javax.persistence.CascadeType.PERSIST})
    @Cascade(CascadeType.LOCK)
    private Collection<VendaVO> venda;

    @OneToMany(mappedBy="formaPagamento", fetch = FetchType.LAZY, cascade={javax.persistence.CascadeType.MERGE, javax.persistence.CascadeType.PERSIST})
    @Cascade(CascadeType.LOCK)
    private Collection<PedidoCompraVO> pedidoCompra;

    public FormaPagamentoVO() {
            formaPagamento="";
            ativo=true;
    }

    public FormaPagamentoVO(int codFormaPagamento, String formaPagamento) {
        this.codFormaPagamento = codFormaPagamento;
        this.formaPagamento = formaPagamento;
        this.ativo = true;
    }

    public boolean isAtivo() {
        return ativo;
    }

    public void setAtivo(boolean ativo) {
        this.ativo = ativo;
    }

    public int getCodFormaPagamento() {
        return codFormaPagamento;
    }

    public void setCodFormaPagamento(int codFormaPagamento) {
        this.codFormaPagamento = codFormaPagamento;
    }

    public String getFormaPagamento() {
        return formaPagamento;
    }

    public void setFormaPagamento(String formaPagamento) {
        this.formaPagamento = formaPagamento;
    }

    public Collection<PedidoCompraVO> getPedidoCompra() {
        return pedidoCompra;
    }

    public void setPedidoCompra(Collection<PedidoCompraVO> pedidoCompra) {
        this.pedidoCompra = pedidoCompra;
    }

    public Collection<VendaVO> getVenda() {
        return venda;
    }

    public void setVenda(Collection<VendaVO> venda) {
        this.venda = venda;
    }

    
}
